// 内部存放 首页相关的假数据
import Mock from "mockjs";

// 创建一个数据
const homeData = Mock.mock({
    "string|10": [
        {
            // prokind: ['男装', '童装', '女装']
            "prokind|1": ["男装", "童装", "女装"],
            // proname: '张三'
            proname: "@ctitle(3, 5)",
            // proid: '10086',
            // proid: '@guid()',
            proid: "pro_@guid()",
            // proimg: 'http:xxxxxxxx',
            proimg: "@image('200x100', '@color', 'Hello')",
        },
    ],
});

// 创建一个接口
// Mock.mock('配置接口的地址(必须和后端同步协商好)', '配置接口的方式(必须和后端同步协商好)', '配置接口的处理函数')
Mock.mock("/getProList", "get", () => {
    // 如果项目中有一个请求是 get 方式, 并且请求地址为 /getProList, 那么就会执行这个函数, 返回值就是这个接口的响应数据
    return homeData;
});

Mock.mock("/getProInfo", "post", (config) => {
    // console.log("mock 处理了一个 请求商品详情", config);

    console.log(JSON.parse(config.body));
    return {
        code: 200,
        msg: "商品详情请求成功",
    };
});

// 添加商品
// 1. 添加一个接口
// 2. 接受到参数
// 3. 将参数(要添加的商品) 追加到我们现在的数组中

Mock.mock("/getProAdd", "post", (config) => {
    // console.log(JSON.parse(config.body))

    // console.log(homeData)
    // console.log(homeData.string)

    homeData.string.push(JSON.parse(config.body));
    return {
        code: 200,
        msg: "添加商品成功",
    };
});

// 删除商品
Mock.mock("/getProDel", "post", (config) => {
    const body = JSON.parse(config.body);

    const info = {
        code: 10010,
        msg: "删除失败",
    };

    homeData.string.forEach((item, index) => {
        if (item.proid === body.proid) {
            homeData.string.splice(index, 1)

            info.code = 200
            info.msg = '删除成功'
        }
    })

    return info;
});
